const cloud = require("wx-server-sdk");

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV,
});

const db = cloud.database();

// 云函数入口函数
exports.main = async (event, context) => {
  console.log("event: ", event);
  console.log("context: ", context);

  const wxContext = cloud.getWXContext();
  const openid = wxContext.OPENID;

  // 查询用户是否存在
  const users = db.collection("users");
  const { data } = await users
    .where({
      openid: openid,
    })
    .get();

  userRecord = data[0];
  // 更新用户信息（比如头像、昵称等）
  await users.doc(userRecord._id).update({
    data: {
      nickName: event.nickName,
      avatarUrl: event.avatarUrl,
    },
  });
  // 重新获取用户信息，确保拿到更新后的数据
  userRecord = await users.doc(userRecord._id).get();
  userRecord = userRecord.data;

  // 注意：不要返回openid和session_key等敏感信息
  // 我们只返回必要的用户信息
  return {
    ...userRecord,
    openid: undefined, // 不返回openid
  };
};
